import api from './request';

/**
 * 创建评论
 * @param payload { postId, userId, content, nickname }
 * @returns Promise<Result<string>>
 * 后端接口：POST /comments
 */
export async function addComment(payload: { 
  postId: number; 
  userId: number; 
  content: string;
  nickname?: string; // 添加 nickname 参数（可选，后端会自动获取用户信息）
}) {
  return api.post('/comments', payload);
}

/**
 * 获取单条评论详情
 * @param commentId 评论ID
 * @returns Promise<Result<Comment>>
 * 后端接口：GET /comments/{id}
 */
export async function getComment(commentId: number) {
  return api.get(`/comments/${commentId}`);
}

/**
 * 获取指定帖子下的评论列表（分页）
 * @param postId 帖子ID
 * @param page 页码（可选，默认0）
 * @param size 每页数量（可选，默认10）
 * @returns Promise<Result<Comment[]>>
 * 后端接口：GET /comments/post/{postId}?page=0&size=10
 */
export async function getCommentsByPostId(postId: number, page = 0, size = 10) {
  return api.get(`/comments/post/${postId}`, { params: { page, size } });
}

/**
 * 更新评论状态
 * @param payload { id, status }
 * @returns Promise<Result<string>>
 * 后端接口：PUT /comments/status
 */
export async function updateCommentStatus(payload: { id: number; status: number }) {
  return api.put('/comments/status', payload);
}
